package es.ocu.uxxiac.appnotas;

import java.util.ArrayList;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ListView;
import es.ocu.uxxiac.appnotas.content.Calificacion;
import es.ocu.uxxiac.appnotas.content.CalificacionesAdapter;
import es.ocu.uxxiac.appnotas.content.CalificacionesParserSax;

public class ListaNotasActivity extends ListActivity {
	ArrayList<Calificacion> calificaciones = new ArrayList<Calificacion>();
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lista_notas);
		
		CalificacionesParserSax saxparser =
	            new CalificacionesParserSax(getResources().openRawResource(R.raw.datosnotas));
	 
	     calificaciones = saxparser.parse();
	     
		CalificacionesAdapter adapter = new CalificacionesAdapter(ListaNotasActivity.this,calificaciones);

		setListAdapter(adapter);	     
	}
	/**
	 * Recoge el Id del elemento pulsado y llama a la siguiente actividad
	 * @l ListView Lista de lugares
	 * @v View Vista desde la que se ha realizado la llamada
	 * @position int Posicion del elemento en la lista
	 * @id long Id del elemento en la lista
	 */
	protected void onListItemClick(ListView l, View v, int position, long id) {
		Intent intent = new Intent();
		intent.putExtra("es.ocu.uxxiac.appnotas.CALIFICACION", calificaciones.get(position));
		intent.setClass(getApplicationContext(), MostrarNotaActivity.class);
		startActivity(intent);
	}
	/**
	 * Comportamiento de la tecla ATRAS del terminal
	 * @keyCode int Codigo de la tecla pulsada
	 * @event KeyEvent Evento que ha provocado la llamada al metodo
	 */
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_BACK) {
			Intent intent = new Intent();
			setResult(RESULT_OK, intent);
			finish();
			return true;
		}
		return super.onKeyDown(keyCode, event);
	}
}
